﻿// 102 扩展欧几里得.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <assert.h>


using namespace std;
/*

http://oj.daimayuan.top/course/21/problem/487
输入T，一共T组数据，每组两个数a,b
，输出ax−by=gcd(a,b)的最小非负整数解(x,y)。

输入格式
第一行一个数字T。

接下来T行，每行两个数字a,b。

输出格式
一共T行，每行两个数，表示x,y。

输入样例
2
1 2
100 150
输出样例
1 0
2 1
数据规模
对于100%
的数据，保证1≤T≤104,1≤a,b≤109。
*/

int a, b,t;

// 求x, y，使得ax + by = gcd(a, b)
int exgcd(int a, int b, int& x, int& y)
{
    if (!b)
    {
        x = 1; y = 0;
        return a;
    }
    int d = exgcd(b, a % b, y, x);
    y -= (a / b) * x;
    return d;
}

void solve() {
    cin >> a >> b;
    int x, y;
    int d = exgcd(a, b, x, y);
    while (x < 0 || y>0) {
        x += b / d; y -= a / d;
    }
    y = -y;
    cout << x << " " << y << endl;
}


int main()
{
	cin >> t;
	while (t--) {
		solve();
	}

	return 0;
}
